package so.sao.shop.supplier.domain.account;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * <p>Version: supplier V1.2.0 </p>
 * <p>Title: AfterSetting</p>
 * <p>Description: 供应商售后设置</p>
 *
 * @author: cris
 * @Date: Created in 2017/11/22 10:05
 */
public class AfterSetting {
    private Long id;

    /**
     * 用户id
     */
    private Long userId;
    /**
     * 省id
     */
    @NotNull(message = "省id不能为空!")
    private Integer proviceId;
    /**
     * 省名称
     */
    @NotEmpty(message = "省名称不能为空!")
    private String provice;
    /**
     * 市id
     */
    @NotNull(message = "市id不能为空!")
    private Integer cityId;
    /**
     * 市名称
     */
    @NotEmpty(message = "市名称不能为空!")
    private String city;
    /**
     * 区县id
     */
    @NotNull(message = "区县id不能为空!")
    private Integer districtId;
    /**
     * 区县名称
     */
    @NotEmpty(message = "区县名称不能为空!")
    private String district;
    /**
     * 详细地址
     */
    @Length(min = 1,max = 250,message = "详细地址长度必须大于1小于250字符")
    private String detailedAddress;
    /**
     * 收货人姓名
     */
    @NotEmpty(message = "收货人姓名不能为空!")
    @Length(min = 1,max = 180,message = "收货人姓名长度必须大于1小于180字符")
    private String consigneeName;
    /**
     * 收货人电话
     */
    @NotEmpty(message = "收货人电话不能为空!")
    @Length(min = 7,max = 20,message = "收货人电话长度必须大于7小于20字符")
    private String consigneePhone;
    /**
     * 退回物流备注说明
     */
    private String remark;
    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date createTime;
    /**
     * 更新时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date updateTime;
    /**
     * 登陆用户父id
     */
    private Long parentId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Integer getProviceId() {
        return proviceId;
    }

    public void setProviceId(Integer proviceId) {
        this.proviceId = proviceId;
    }

    public String getProvice() {
        return provice;
    }

    public void setProvice(String provice) {
        this.provice = provice;
    }

    public Integer getCityId() {
        return cityId;
    }

    public void setCityId(Integer cityId) {
        this.cityId = cityId;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public Integer getDistrictId() {
        return districtId;
    }

    public void setDistrictId(Integer districtId) {
        this.districtId = districtId;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    public String getDetailedAddress() {
        return detailedAddress;
    }

    public void setDetailedAddress(String detailedAddress) {
        this.detailedAddress = detailedAddress;
    }

    public String getConsigneeName() {
        return consigneeName;
    }

    public void setConsigneeName(String consigneeName) {
        this.consigneeName = consigneeName;
    }

    public String getConsigneePhone() {
        return consigneePhone;
    }

    public void setConsigneePhone(String consigneePhone) {
        this.consigneePhone = consigneePhone;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }
}